package mx.ipn.escom.redes.gestionarcategoriaequipo.controller;


import java.util.List;

import mx.ipn.escom.redes.equipo.model.CategoriaEquipo;
import mx.ipn.escom.redes.gestionarcategoriaequipo.business.CategoriaEquipoBs;

import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

@Namespace("/categoriaEquipo")
@Results({ @Result(name = "success", type = "redirectAction", params = {
		"actionName", "gestionar-categoria-equipo" }) })
public class GestionarCategoriaEquipoCtrl extends ActionSupport implements
		ModelDriven<CategoriaEquipo> {

	private static final long serialVersionUID = 1L;

	private Integer idSel;

	private CategoriaEquipo model;

	private CategoriaEquipoBs categoriaEquipoBs;

	private String nombre;

	private List<CategoriaEquipo> listaCategoriaEquipo;

	public String index() {
		listaCategoriaEquipo = categoriaEquipoBs.findAll();
		if (listaCategoriaEquipo.isEmpty()
				|| listaCategoriaEquipo == null) {
			addActionMessage(getText("SIN_REGISTROS_CATEGORIA_EQUIPO"));
		}

		return "index";
	}

	public String editNew() {
		return "editNew";
	}

	public String create() {			
		categoriaEquipoBs.guardar(model);
		addActionMessage(getText("REGISTRO_CATEGORIA_EQUIPO_EXITOSO"));
		return index();
	}

	public String edit() {
		return "edit";
	}

	public String update() {
		categoriaEquipoBs.modificar(model);
		addActionMessage(getText("MODIFICACION_CATEGORIA_EQUIPO_EXITOSO"));
		return index();
	}

	public String deleteConfirm() {
		return "deleteConfirm";
	}

	public String destroy() {
		categoriaEquipoBs.eliminar(model);
		addActionMessage(getText("ELIMINACION_CATEGORIA_EQUIPO_EXITOSO"));
		return index();
	}

	/**
	 * @return the idSel
	 */
	public Integer getIdSel() {
		return idSel;
	}

	/**
	 * @param idSel
	 *            the idSel to set
	 */
	public void setIdSel(Integer idSel) {
		this.idSel = idSel;
		if (this.idSel != null) {
			model = categoriaEquipoBs.findById(idSel);
		}
		if (model.getNombre() != null) {
			setNombre(model.getNombre());
		} else {
			setNombre("");
		}
	}

	/**
	 * @return the categoriaEquipoBs
	 */
	public CategoriaEquipoBs getCategoriaEquipoBs() {
		return categoriaEquipoBs;
	}

	/**
	 * @param categoriaEquipoBs
	 *            the categoriaEquipoBs to set
	 */
	public void setCategoriaEquipoBs(CategoriaEquipoBs categoriaEquipoBs) {
		this.categoriaEquipoBs = categoriaEquipoBs;
	}

	public CategoriaEquipo getModel() {
		if(model==null) {
			model = new CategoriaEquipo();
		}
		return model;
	}

	/**
	 * @param model
	 *            the model to set
	 */
	public void setModel(CategoriaEquipo model) {
		this.model = model;
	}

	/**
	 * @return the listaCategoriaEquipo
	 */
	public List<CategoriaEquipo> getListaCategoriaEquipo() {
		return listaCategoriaEquipo;
	}

	/**
	 * @param listaCategoriaEquipo
	 *            the listaCategoriaEquipo to set
	 */
	public void setListaCategoriaEquipo(
			List<CategoriaEquipo> listaCategoriaEquipo) {
		this.listaCategoriaEquipo = listaCategoriaEquipo;
	}

	/**
	 * @return the nombre
	 */
	public String getNombre() {
		return nombre;
	}

	/**
	 * @param nombre
	 *            the nombre to set
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

}

